Skip to content

Add comprehensive package scanning support for Habitat, native, and modern installers#26

Merged
brianLoomis merged 1 commit intomainfrom
feature/hab-scan-workflow
Feb 26, 2026
Merged

Add comprehensive package scanning support for Habitat, native, and modern installers#26
brianLoomis merged 1 commit intomainfrom
feature/hab-scan-workflow

Conversation

@peter-at-progress
Copy link
Contributor

Description

This PR adds comprehensive vulnerability scanning capabilities for Chef packages across multiple distribution formats. It extends the chef-download-grype-snapshot GitHub Action to support Habitat packages (both direct and transitive dependencies), native installers (RPM, DEB, MSI), and modern package managers (dpkg-extracted tarballs).

Key improvements include:

  • Habitat Package Support: Scans both direct dependencies and transitive dependencies of Habitat packages with proper license handling and HAB_AUTH_TOKEN support for private channels
  • Enhanced Vulnerability Scanning: Grype and Trivy integration with binary caching and automatic retry logic for improved reliability
  • Expanded Package Coverage: Support for Chef Infra Client, chef-ice, CINC, and other native/modern package formats
  • Operational Improvements: Download retry logic from Chef acceptance site, package size tracking, metadata generation, and full_scan mode for complete product rescanning
  • Version Intelligence: Stable and current major version matching for better vulnerability comparison across releases

This enables comprehensive security scanning across the entire Chef product portfolio.

Related Issue

N/A - Feature enhancement for security scanning infrastructure

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Chore (non-breaking change that does not add functionality or fix an issue)Add comprehensive package scanning support for Habitat, native, and modern installers

Checklist:

  • I have read the CONTRIBUTING document.
  • I have run the pre-merge tests locally and they pass.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • If Gemfile.lock has changed, I have used --conservative to do it and included the full output in the Description above.
  • All new and existing tests passed.
  • All commits have been signed-off for the Developer Certificate of Origin.

…odern installers

- Implement Habitat package scanning with direct and transitive dependency support
- Add Grype and Trivy vulnerability scanning with caching and retry logic
- Support for Chef Infra Client, chef-ice, and other native/modern packages
- Add CINC package scanning support
- Implement download retry logic from Chef acceptance site
- Add package size tracking and metadata generation
- Support for HAB_AUTH_TOKEN for private channel access
- Add full_scan mode for complete product rescanning
- Include dpkg extraction support for tarballs
- Add version matching for stable and current releases

Signed-off-by: Peter Arsenault <parsenau@progress.com>
@peter-at-progress peter-at-progress force-pushed the feature/hab-scan-workflow branch from 00a5523 to b9aeeac Compare February 26, 2026 17:33
Copy link
Contributor

@brianLoomis brianLoomis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make sure to test on a good sample of repos - chef-vault is a good Ruby one, habitat-sh/habitat is a good Rust one, chef360 APIs are in progress-platform-services org in GH. Hab plans are generally in https://github.com/habitat-sh/enterprise-packages/ or https://github.com/habitat-sh/foundational-packages (on the base-2025 branch)

@brianLoomis brianLoomis merged commit 8f6f486 into main Feb 26, 2026
3 checks passed
@brianLoomis brianLoomis deleted the feature/hab-scan-workflow branch February 26, 2026 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants